#include "Compression.h"
#include <iostream>
using std::cout;

// Compile: g++ -o3 *.cpp -o main.exe

int main()
{
	HXLBMPFILE bmpfile, bf;
	if (!bmpfile.LoadBMPFILE("./srcImage/1.bmp")) // 载入原始图像
		exit(1);								  // 不成功则退出

	img_Clone(bmpfile, bf);
	bf.SaveBMPFILE("./output/origin_img.bmp");

	// 【该程序运行时间较长，10s左右】

	// 编码部分
	if (!LZWEncode(bf, "./output/encode.bmp"))
	{
		cout << "LZW编码失败！\n";
		return 1;
	}
	else
	{
		cout << "LZW编码成功！\n\n";
	}

	// 解码部分
	HXLBMPFILE result;
	if (!LZWDecode(result, "./output/encode.bmp"))
	{
		cout << "LZW解码失败！\n";
		return 1;
	}
	else
	{
		cout << "LZW解码成功！\n\n";
	}

	return 0;
}
